package com.dream.util;

import org.wltea.analyzer.core.IKSegmenter;
import org.wltea.analyzer.core.Lexeme;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;

public class IKUtils {
    
    /**
     * 对文本进行中文分词
     * @param text     待分词的文本
     * @param useSmart 是否使用智能分词模式（true=ik_smart，false=ik_max_word）
     */
    public static List<String> analyze(String text, boolean useSmart) {
        List<String> result = new ArrayList<>();
        try (StringReader reader = new StringReader(text)) {
            IKSegmenter segmenter = new IKSegmenter(reader, useSmart);
            Lexeme lexeme;
            while ((lexeme = segmenter.next()) != null) {
                String word = lexeme.getLexemeText();
                // 过滤单字或停用词（按需扩展）
                if (word.length() > 1) {
                    result.add(word);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }

    public static void main(String[] args) {
        List<String> words = analyze("今天是4月28日，星期一，又是新的一周", true);
        for (String word : words) {
            System.out.println(word);
        }
    }
}